package com.gxa.modules.mapper;

import com.gxa.modules.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.sql.Date;
import java.util.List;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * User: zdk
 * Date: 2021/12/30 17:31
 * Description:
 * Version: V1.0
 */
public interface LsFinanceMapper {
    /**
     * 新增财务订单
     * @param forders 财务订单实体
     * @return 1为添加成功
     */
    Integer addForders(Forders forders);

    /**
     * 新增财务订单时新增财务信息
     * @param forders 财务订单实体
     * @return 1为添加成功
     */
    Integer addFordersFinance(Forders forders);

    /**
     * 新增财务用户信息实体
     * @param financeUser 财务用户实体
     * @return 1为添加成功
     */
    Integer addFinanceUser(Finance_User financeUser);

    /**
     * 新增用户信息时新增财务信息
     * @param financeUser 财务用户实体
     * @return 1为添加成功
     */
    Integer addFinanceFinanceUser(Finance_User financeUser);

    /**
     * 员工工资奖惩调整信息
     * @param financeAdjustment 员工工资调整实体
     * @return 1为添加成功
     */
    Integer addFinanceAdjustment(Finance_Adjustment financeAdjustment);

    /**
     * 按日期查找所有财务信息
     * @param todayDate 今天的时间
     * @return 返回财务信息结果集
     */
    List<Finance> queryFinanceList(Date todayDate);

    /**
     * 按财务信息查询结果添加工资数据
     * @param financeList  查询结果集
     * @return 1为添加成功
     */
    Integer addFinancePayment(Finance financeList);

    /**
     * 查询今日财务信息
     * @param param1        当前页
     * @param param2       显示条数
     * @param startDate   开始日期
     * @param endDate     结束日期
     * @return 返回财务信息集
     */
    List<Map> queryFinanceToday(Integer param1, Integer param2, Date startDate, Date endDate);

    /**
     *查询今日财务信息记录条数
     * @param startDate   开始日期
     * @param endDate     结束日期
     * @return 返回财务信息记录条数
     */
    Integer queryFinanceTodayCount(Date startDate, Date endDate);

    /**
     * 消费统计每日对账
     * @param shopId 门店ID号
     * @return 消费统计结果集
     */
    List<Map> queryFinanceConsumption(Integer shopId);

    /**
     * 散客支付数据统计每日对账
     * @param shopId 门店ID号
     * @return 散客支付数据统计结果集
     */
    List<Map> queryFinanceIndividualGuest(Integer shopId);

    /**
     * 会员支付数据统计每日对账
     * @param shopId 门店ID号
     * @return 会员支付数据统计结果集
     */
    List<Map> queryFinanceMember(Integer shopId);

    /**
     * 门店支付数据统计每日对账
     * @param shopId 门店ID号
     * @return 门店支付数据统计结果集
     */
    List<Map> queryFinanceStore(Integer shopId);

    /**
     * 门店数据统计每日对账
     * @param shopId 门店ID号
     * @return 门店数据统计结果集
     */
    List<Map> queryFinanceStoreData(Integer shopId);

    /**
     *
     * @param queryFinancePayment 日结记录查询实体
     * @return 日结记录查询结果集
     */
    List<Map> queryFinancePaymentList(QueryFinancePayment queryFinancePayment);

    /**
     *
     * @param queryFinancePayment 日结记录查询实体
     * @return 日结记录查询结果记录条数
     */
    Integer queryFinancePaymentListCount(QueryFinancePayment queryFinancePayment);

    /**
     *
     * @param shopId 门店编号
     * @return 查询店员信息结果集
     */
    List<Map> queryFinanceEmployee(Integer shopId);

    /**
     *
     * @param search 搜索条件
     * @param param1 当前页
     * @param param2 显示条数
     * @param shopId
     * @return 日结记录搜索条件结果集
     */
    List<Map> queryFinancePaymentListSearch(String search, Integer param1, Integer param2, Integer shopId);

    /**
     *
     * @param search 搜索条件
     * @param shopId 门店id
     * @return 日结记录搜索条件结果记录条数
     */
    Integer queryFinancePaymentListSearchCount(String search, Integer shopId);
}
